/**
 * 
 */
package fr.flogo.destinee.cameras;

import javax.microedition.khronos.opengles.GL10;

/**
 * Represent a camera Object used to modify general matrix and views
 * @author Florian GOLESTIN
 * @version 0.1
 *
 */
public interface ICamera {
	
	/**
	 * Make a translation of the view with the given parameters. Modify the original matrix. 
	 * @param gl
	 * @param x
	 * @param y
	 * @param z
	 */
	public void translate(GL10 gl,float x, float y, float z);
	
	/**
	 * Make a rotation of the object with given parameters. Modify the original matrix. 
	 * @param gl
	 * @param angle In degree
	 * @param x
	 * @param y
	 * @param z
	 */
	public void rotation(GL10 gl, float angle, float x, float y, float z);
	
	/**
	 * TODO doc
	 * @param x
	 * @param y
	 * @param z
	 */
	public float[] getPosition();
	
	
	public void turn(float angle, float x, float y, float z);
	public void move(float x, float y, float z);

	public void drawMovement(GL10 gl);
	
	//public void getOrientation(); 
}
